﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;

using SBPweb.Modules.Modularity;
using SBPweb.Modules.Communication;

using SBPweb.MediaCenter.Modules.Viewer.ModifyDescriptors;

using SBPweb.MediaCenter.Common.Services;

namespace SBPweb.MediaCenter.Modules.Viewer
{

    public abstract class Module : SBPweb.MediaCenter.Common.Modularity.ModuleBase
    {

        #region Constructor logic

        public Module(IModuleHost parent)
            : base(parent)
        {
        }

        #endregion
        
        #region Property accessors

        public IViewerService Viewer
        {
            get
            {
                return Services.Get<IViewerService>();
            }
            protected set
            {
                Services.Put<IViewerService>(value);
            }
        }

        #endregion

        #region Methods
        /*
        public abstract void Open(Uri uri);

        protected abstract void ReopenImage();

		protected abstract void CloseImage();

		protected abstract void SaveImage(string filePath);

		protected abstract void SaveImagePart(string filePath);

		protected abstract void Move(MoveDirections direction);

		protected abstract void Flip(FlipAxis axis);

		protected abstract void Rotate(RotateDeg deg);

		protected abstract void Zoom(ZoomStyles zoom);

		protected abstract void NextImage();

		protected abstract void PreviousImage();

		protected abstract void SlideShowStart();

		protected abstract void SlideShowStop();
        */
        #endregion

    }

}